# @Time    :2025/3/29 22:35
"""
特殊方法的使用：定义一个 Point 类，包含 x 和 y 两个实例属性（表示二维平面上点的坐标）。
实现以下特殊方法： ◦ __init__ 方法，用于初始化 x 和 y 的值。
◦ __str__ 方法，返回点的坐标的字符串表示，格式为 "({x}, {y})"。
◦ __add__ 方法，接受另一个 Point 对象作为参数，

返回一个新的 Point 对象，其 x 和 y 坐标分别是两个点对应坐标之和。
创建两个 Point 类的实例，进行相加操作，并打印相加前后点的信息。
"""


class Point:
    def __init__(self, x, y):
        self.x = x
        self.y = y

    def __str__(self):
        return f"({self.x}, {self.y})"

    def __add__(self, other):
        new_x = self.x + self.x
        new_y = self.y + self.y
        return Point(new_x, new_y)


p1 = Point(1, 2)
p2 = Point(1, 3)
print("没相加之前：", p1, p2)
print(f"p1的点{p1},p2的点是{p2}")

new_point = p1 + p2
print(new_point)
